157 research outputs found

    Comparing Static and Dynamic Weighted Software Coupling Metrics

    Get PDF
    Coupling metrics that count the number of inter-module connections in a software system are an established way to measure internal software quality with respect to modularity. In addition to static metrics, which are obtained from the source or compiled code of a program, dynamic metrics use runtime data gathered, e.g., by monitoring a system in production. Dynamic metrics have been used to improve the accuracy of static metrics for object-oriented software. We study weighted dynamic coupling that takes into account how often a connection (e.g., a method call) is executed during a system’s run. We investigate the correlation between dynamic weighted metrics and their static counterparts. To compare the different metrics, we use data collected from four different experiments, each monitoring production use of a commercial software system over a period of four weeks. We observe an unexpected level of correlation between the static and the weighted dynamic case as well as revealing differences between class- and package-level analyses

    Assessing architectural evolution: A case study

    Get PDF
    This is the post-print version of the Article. The official published can be accessed from the link below - Copyright @ 2011 SpringerThis paper proposes to use a historical perspective on generic laws, principles, and guidelines, like Lehman’s software evolution laws and Martin’s design principles, in order to achieve a multi-faceted process and structural assessment of a system’s architectural evolution. We present a simple structural model with associated historical metrics and visualizations that could form part of an architect’s dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand, to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach

    X-Machine Based Testing for Cloud Services

    Get PDF
    In this article we present a tool designed for cloud service testing, able to generate test cases from a formal specification of the service, in form of a deterministic stream X-machine (DSXM) model. The paper summarizes the theoretical foundations of X-machine based testing and illustrates the usage of the developed tool on some examples. It shows in detail how the specification should be written, which are the design for test conditions it should satisfy, in order to assure the generation of high quality test suites for the cloud service

    N-Gram Based Test Sequence Generation from Finite State Models

    Get PDF
    Abstract. Model based testing offers a powerful mechanism to test ap-plications that change dynamically and continuously, for which only some limited black-box knowledge is available (this is typically the case of fu-ture internet applications). Models can be inferred from observations of real executions and test cases can be derived from models, according to various strategies (e.g., graph or random visits). The problem is that a relatively large proportion of the test cases obtained in this way might result to be non executable, because they involve infeasible paths. In this paper, we propose a novel test case derivation strategy, based on the computation of the N-gram statistics. Event sequences are gen-erated for which the subsequences of size N respect the distribution of the N-tuples observed in the execution traces. In this way, generated and observed sequences share the same context (up to length N), hence increasing the likelihood for the generated ones of being actually exe-cutable. A consequence of the increased proportion of feasible test cases is that model coverage is also expected to increase.

    Do internal software quality tools measure validated metrics?

    Full text link
    Internal software quality determines the maintainability of the software product and influences the quality in use. There is a plethora of metrics which purport to measure the internal quality of software, and these metrics are offered by static software analysis tools. To date, a number of reports have assessed the validity of these metrics. No data are available, however, on whether metrics offered by the tools are somehow validated in scientific studies. The current study covers this gap by providing data on which tools and how many validated metrics are provided. The results show that a range of metrics that the tools provided do not seem to be validated in the literature and that only a small percentage of metrics are validated in the provided tools

    Capability driven development: an approach to designing digital enterprises

    Get PDF
    The final publication is available at Springer via http://dx.doi.org/10.1007/s12599-014-0362-0[EN] The need for organizations to operate in changing environments is addressed by proposing an approach that integrates organizational development with information system (IS) development taking into account changes in the application context of the solution. This is referred to as Capability Driven Development (CDD). A meta-model representing business and IS designs consisting of goals, key performance indicators, capabilities, context and capability delivery patterns, is being proposed. The use of the meta-model is validated in three industrial case studies as part of an ongoing collaboration project, whereas one case is presented in the paper. Issues related to the use of the CDD approach, namely, CDD methodology and tool support are also discussed.This work has been partially supported by the EU-FP7 funded project no: 611351 CaaS - Capability as a Service in Digital Enterprises.Berzisa, S.; Bravos, G.; Cardona Gonzalez, T.; Czubayko, U.; España, S.; Grabis, J.; Henkel, M.... (2015). Capability driven development: an approach to designing digital enterprises. Business and Information Systems Engineering. 57(1):15-25. https://doi.org/10.1007/s12599-014-0362-0S1525571ArchiMate (2013) An enterprise modeling language from the Open Group. http://www.opengroup.org/archimate/ . Accessed 3 Dec 2014Asadi M, Ramsin R (2008) MDA-based methodologies: an analytical survey. In: Proceedings Model driven architecture – foundations and applications (ECMDA-FA 2008), LNCS 5095, pp 419–431Barney JB (1991) Firm resources and sustained competitive advantage. J Manag 17(1):99–120Bērziša S, Bravos G, Gonzalez Cardona T, Czubayko U, España S, Grabis J, Henke lM, Jokste L, Kampars J, Koc H, Kuhr J, Llorca C, Loucopoulos P, Juanes Pascua lR, Sandkuh lK, Simic H, Stirna J, Zdravkovic J (2014) Deliverable 1.4: Requirements specification for CDD, CaaS – capability as a service for digital enterprises. FP7 project no 611351, Riga Technical University, Latvia. Submitted for reviewBubenko JA Jr, Persson A, Stirna J (2001) User guide of the knowledge management approach using enterprise knowledge patterns. Deliverable D3, IST programme project hypermedia and pattern based knowledge management for smart organisations. project no. IST-2000-28401, Royal Institute of Technology, SwedenBriand LC, Yue T, Labiche Y (2011) A systematic review of transformation approaches between user requirements and analysis models. Requir Eng 16:75–99De Kinderen S, Gordijn J, Akkermans H (2009) Reasoning about customer needs in multi-supplier ICT service bundles using decision models. In: Proceedings 11th international conference on enterprise information systems (ICEIS 2009), pp 131–136Deloitte (2009) Cloud computing: forecasting change. Deloitte Consulting, New York. http://public.deloitte.no/dokumenter/2_Cloud_Computing%5B1%5D.pdf . Accessed 3 Dec 2014Dey A (2001) Understanding and using context. Pers Ubiquitous Comput 5(1):4–7Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software architecture. Addison-Wesley, BostonGomes D, Gonçalves JM, Santos R, Aguiar R (2010) XMPP based context management architecture. In: Proceedings GLOBECOM workshop, IEEE, pp 1372–1377González A, España S, Ruiz M, Pastor Ó (2011) Systematic derivation of class diagrams from communication-oriented business process models. In: 12th working conference on business process modeling, development, and support (BPMDS’11). Springer LNBIP 81, pp 246–260Henkel M, Stirna J (2010) Pondering on the key functionality of model driven development tools: the case of mendix. In: Forbrig P, Günther H (eds) Proceedings business informatics research (BIR 2010), Springer LNBIP 64, pp 146–160Hervas R, Bravo J, Fontecha J (2010) A context model based on ontological languages – a proposal for information visualisation. J Univers Comput Sci 16(12):1539–1555Jarke M, Loucopoulos P, Lyytinen K, Mylopoulos J, Robinson W (2011) The brave new world of design requirements. Information Syst 36(7):992–1008Kaplan RS, Norton DP (2004) Strategy maps: converting intangible assets into tangible outcomes. Harvard Business School Press, BostonKleppe A, Warmer J, Bast W (2013) MDA explained. Addison-Wesley, BostonLoniewski G, Insfran E, Abrahao L (2010) A systematic review of the use of requirements engineering techniques in model-driven development. In: Proceedings model driven engineering languages and systems (MODELS 2010), Part II, LNCS 6395, pp 213–227Mohagheghi P, Dehlen V (2008) Where is the proof? - a review of experiences from applying MDE in industry. In: Proceedings model driven architecture – foundations and applications (ECMDA-FA 2008). LNCS 5095. Springer, Heidelberg, pp 432–443Nilsson AG, Tolis C, Nellborn C (eds) (1999) Perspectives on business modelling: understanding and changing organisations. Springer, HeidelbergOASIS (2011) Reference architecture foundation for service oriented architecture version 1.0, committee specification draft 03/public review draft 02 06 July 2011. http://docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra.pdf . Accessed 3 Dec 2014OMG (2011a) UML superstructure. http://www.omg.org/spec/UML/2.4.1/ . Accessed 3 Dec 2014OMG (2011b) Business process model and notation. http://www.omg.org/spec/BPMN/2.0/ . Accessed 3 Dec 2014Osterwalder A, Pigneur Y (2003) Modeling value propositions in e-business. Proc 5th international conference on electronic commerce (ICEC 2003). ACM Conference Proceedings Series 50Papazoglou MP, Yang J (2002) Design methodology for web services and business processes. In: Proceedings 3rd international workshop on technologies for e-services (TES 03). LNCS 2444. Springer, Heidelberg, pp 54–64Pastor O, Giachetti G (2010) Linking goal-oriented requirements and model-driven development. In: Intentional perspectives on information systems engineering. Springer, Heidelberg, pp 257–276Porter ME (1985) Competitive advantage: creating and sustaining superior performance. Free Press, New YorkRuiz M, Costal D, España S, Franch X, Pastor Ó (2014) Integrating the goal and business process perspectives in information system analysis. In: 26th International Conference on Advanced Information Systems Engineering (CAiSE 2014). LNCS 8484. Springer, Heidelberg, pp 332–346Sheng Q, Yu J, Dustar S (eds) (2010) Enabling context-aware web services: methods, architectures, and technologies. Chapman & Hall/CRC, Boca RatonSmanchat S, Ling S, Indrawan M (2008) A survey on context-aware workflow adaptations. In: Proceedings 6th international conference on advances in mobile computing and multimedia (MoMM 2008), New York, pp 414–417Stirna J, Grabis J, Henkel M, Zdravkovic J (2012) Capability driven development – an approach to support evolving organizations. In: The practice of enterprise modeling (PoEM 2012). LNBIP 134. Springer, Heidelberg, pp 117–131Vale S, Hammoudi S (2009) COMODE: a framework for the development of context-aware applications in the context of MDE. In: Proceedings 4th international conference on internet and web applications and services (ICIW 2009). IEEE, Venice, pp 261–266Wesenberg H (2011) Enterprise modeling in an agile world. In: Johannesson P, Krogstie J, Opdahl AL (eds) The practice of enterprise modeling (PoEM 2011). LNBIP 92. Springer, Heidelberg, pp 126–130Zdravkovic J, Stirna J, Henkel M, Grabis J (2013) Modeling business capabilities and context dependent delivery by cloud services. In: Proceedings advanced information systems engineering (CAiSE 2013). LNCS 7908. Springer, Heidelberg, pp 369–38

    Data mining for software engineering and humans in the loop

    Get PDF
    The field of data mining for software engineering has been growing over the last decade. This field is concerned with the use of data mining to provide useful insights into how to improve software engineering processes and software itself, supporting decision-making. For that, data produced by software engineering processes and products during and after software development are used. Despite promising results, there is frequently a lack of discussion on the role of software engineering practitioners amidst the data mining approaches. This makes adoption of data mining by software engineering practitioners difficult. Moreover, the fact that experts’ knowledge is frequently ignored by data mining approaches, together with the lack of transparency of such approaches, can hinder the acceptability of data mining by software engineering practitioners. To overcome these problems, this position paper provides a discussion of the role of software engineering experts when adopting data mining approaches. It also argues that this role can be extended to increase experts’ involvement in the process of building data mining models. We believe that such extended involvement is not only likely to increase software engineers’ acceptability of the resulting models, but also improve the models themselves. We also provide some recommendations aimed at increasing the success of experts involvement and model acceptability
    corecore